package DAO;

import java.util.List;

import interfacedao.LivroDAO;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import modelo.Livro;

/**
 * Session Bean implementation class LivroDAOBean
 */
@Stateless
@LocalBean
public class LivroDAOBean implements LivroDAO {

	@PersistenceContext(unitName="prova")
	private EntityManager em;
	
    public LivroDAOBean() {}

    @SuppressWarnings("unchecked")
	@Override
	public List<Livro> buscarLivro() {
    	Query query = em.createNamedQuery("listaLivros", Livro.class);
		return query.getResultList();
	}

	@Override
	public void criarLivro(Livro l) {
		em.persist(l);
		
	}

	@Override
	public Boolean apagarLivro(Livro l) {
		em.remove(l);
		return null;
	}


	@Override
	public void atualizaLivro(Livro l) {
		em.merge(l);
		
	}

	@Override//buscaLivroNome
	public Livro buscaLNome(String titulo) {
		return em.createNamedQuery("buscaLivroNome", Livro.class)
				.setParameter("titulo", titulo).getSingleResult();
	}

}
